// 涉及知识点：

// 指针与const：1：指向常量的指针：要想存放变量的地址，必须使用指向常量的指针：const
// int *p

// 2:常量指针：指针自身是一个对象，不可变。int *const p = &pi  
// （常量指针必须初始化！！！）

// 3：指向常量的常量指针。const  int *const p
// (不仅指针本身不可变，指针所指对象也不可变)

// 引用与const：

// 将引用定义为常量：const int &i

// a:引用r的赋值对象必须是一个对象，所以不合法

// b:合法，将p2设为一个常量指针，初始化为i2对象的地址

// c:合法，将i设为常量，r设置为常量的引用（注意const   int   &r = 0
//  是正确的，但是int  &r = 0是不正确的）

// d:合法，p3为指向常量的常量指针，初始值为i2的地址

// e:合法，p1为指向常量的指针，初始值为i2的地址

// f:使用不合法

// g:合法，正常的赋值。